package cn.fl.inscare.transform;

import cn.fl.inscare.vo.InsApplicationVO;
import ins.car.facade.car.car.dto.InsApplicationDTO;


/**
* @Description: 保险申请表 转换器
* @Description: VO是客户端传递数据到服务端进行转换的数据
* @Description: VO转换数据变成DTO传递到服务端
* @Description: VO不能在服务端出现
*/
public class InsBaseInsApplicationVOTransform {


   /**
    * DTO 转  VO
    * @param dto InsApplicationDTO
    * @return InsApplicationVO
    */
   public static InsApplicationVO baseToVO(InsApplicationDTO dto) {
       InsApplicationVO  vo = null;
       if (dto != null) {
           vo = new InsApplicationVO();
           vo.setId(dto.getId());
           vo.setVehicleLicenseId(dto.getVehicleLicenseId());//行驶证表id（主键）
           vo.setCustMagerId(dto.getCustMagerId());//客户经理id
           vo.setCustMagerNm(dto.getCustMagerNm());//客户经理名称
           vo.setCustOrgCd(dto.getCustOrgCd());//客户经理组织cd
           vo.setCustBdOrgCd(dto.getCustBdOrgCd());//客户经理所在事业部组织cd
           vo.setPerId(dto.getPerId());//投保人ID
           vo.setPerNm(dto.getPerNm());//投保人
           vo.setInsPerType(dto.getInsPerType());//被保险人类型（INS0035）：1. 自然人（跟人）2. 法人（企业）
           vo.setInsPerSubType(dto.getInsPerSubType());//被保险人类型的子类型： INS0042)：1. 他人， 2. 本人
           vo.setInsPerNm(dto.getInsPerNm());//被保险人
           vo.setInsPerAddr(dto.getInsPerAddr());//被保险人地址
           vo.setCertTypCd(dto.getCertTypCd());//被投保人证件类型，数据字典
           vo.setCertNo(dto.getCertNo());//被保险人证件号码(数据字典编码)
           vo.setCertNm(dto.getCertNm());//被保险人证件姓名/公司名称
           vo.setInsPerMobile(dto.getInsPerMobile());//被保险人手机号
           vo.setFstPer(dto.getFstPer());//第一受益人
           vo.setRecommendedMan(dto.getRecommendedMan());//推荐人
           vo.setInsTotalAmt(dto.getInsTotalAmt());//保险总金额
           vo.setInsCompId(dto.getInsCompId());//保险公司ID
           vo.setInsCompNm(dto.getInsCompNm());//保险公司名称
           vo.setInsCompSubId(dto.getInsCompSubId());//保险支公司ID
           vo.setInsCompSubNm(dto.getInsCompSubNm());//保险支公司名称
           vo.setRgnPrCd(dto.getRgnPrCd());//区域-省
           vo.setRgnPrNm(dto.getRgnPrNm());//区域-省名称
           vo.setRgnCyCd(dto.getRgnCyCd());//区域-市
           vo.setRgnCyNm(dto.getRgnCyNm());//区域-市名称
           vo.setPlateNo(dto.getPlateNo());//号牌号码
           vo.setPayType(dto.getPayType());//支付类型（INS0020）： 1，分期支付；2，一次性支付
           vo.setInsState(dto.getInsState());//保险状态（INS0025）：1，新投保；2，续保
           vo.setPaySchId(dto.getPaySchId());//支付表编号ID
           vo.setPayNo(dto.getPayNo());//支付表编号
           vo.setContNo(dto.getContNo());//合同号，系统自动生成
           vo.setPayState(dto.getPayState());//支付状态（INS0031）：1.未支付；2.已支付
           vo.setLoanState(dto.getLoanState());//贷款状态（INS0028）：1.未放款；2.已放款
           vo.setLoanType(dto.getLoanType());//贷款类型（INS0027）： 1. 分期还款；2.全款
           vo.setBusType(dto.getBusType());//业务类型（INS0026 ）：1. 保险分期；2.保险一次性
           vo.setPlcRem(dto.getPlcRem());//保单备注
           vo.setDataSource(dto.getDataSource());//数据来源（SYS0027）：1. iOS；2. Andriod；3. Windows；4. Web
           vo.setOrderStatus(dto.getOrderStatus());//订单状态（INS0036）：1. 未提交；2. 审核中；3. 未出保；4. 出保中；5. 已出保
           vo.setIsDel(dto.getIsDel());//是否删除(INS0038)) ：0. 否；1. 是
           vo.setUpdateNumber(dto.getUpdateNumber());//更新序号
           vo.setInsQuoteInfoId(dto.getInsQuoteInfoId());//保险公司报价信息id
           vo.setPolicyDeatilId(dto.getPolicyDeatilId());//保险详情id

           //vo.setInsTotalAmtPrices(dto.getInsTotalAmtPrice());//支付金额
           vo.setCrtTm(dto.getCrtTm());//创建时间
           vo.setCrtUsrId(dto.getCrtUsrId());//创建人
           vo.setMdfTm(dto.getMdfTm());//修改时间
           vo.setMdfUsrId(dto.getMdfUsrId());//修改人

           vo.setAudStsCd(dto.getAudStsCd());
           vo.setPNo(dto.getPNo());
           vo.setPInstId(dto.getPInstId());

         /*  vo.setImpCustMagerId(dto.getImpCustMagerId());
           vo.setAccCustMagerId(dto.getAccCustMagerId());*/
       }
       return vo;
   }

   /**
    * VO 转 DTO
    * @param vo InsApplicationVO
    * @return InsApplicationDTO
    */
   public static InsApplicationDTO baseToDTO(InsApplicationVO vo) {
       InsApplicationDTO dto = null;
       if (vo != null) {
           dto = new InsApplicationDTO();
           dto.setId(vo.getId());
           dto.setVehicleLicenseId(vo.getVehicleLicenseId());//行驶证表id（主键）
           dto.setCustMagerId(vo.getCustMagerId());//客户经理id
           dto.setCustMagerNm(vo.getCustMagerNm());//客户经理名称
           dto.setCustOrgCd(vo.getCustOrgCd());//客户经理组织cd
           dto.setCustBdOrgCd(vo.getCustBdOrgCd());//客户经理所在事业部组织cd
           dto.setPerId(vo.getPerId());//投保人ID
           dto.setPerNm(vo.getPerNm());//投保人
           dto.setInsPerType(vo.getInsPerType());//被保险人类型（INS0035）：1. 自然人（跟人）2. 法人（企业）
           dto.setInsPerSubType(vo.getInsPerSubType());//被保险人类型的子类型： INS0042)：1. 他人， 2. 本人
           dto.setInsPerNm(vo.getInsPerNm());//被保险人
           dto.setInsPerAddr(vo.getInsPerAddr());//被保险人地址
           dto.setCertTypCd(vo.getCertTypCd());//被投保人证件类型，数据字典
           dto.setCertNo(vo.getCertNo());//被保险人证件号码(数据字典编码)
           dto.setCertNm(vo.getCertNm());//证件姓名/公司名称
           dto.setInsPerMobile(vo.getInsPerMobile());//被保险人手机号
           dto.setFstPer(vo.getFstPer());//第一受益人
           dto.setRecommendedMan(vo.getRecommendedMan());//推荐人
           dto.setInsTotalAmt(vo.getInsTotalAmt());//保险总金额
           dto.setInsCompId(vo.getInsCompId());//保险公司ID
           dto.setInsCompNm(vo.getInsCompNm());//保险公司名称
           dto.setInsCompSubId(vo.getInsCompSubId());//保险支公司ID
           dto.setInsCompSubNm(vo.getInsCompSubNm());//保险支公司名称
           dto.setRgnPrCd(vo.getRgnPrCd());//区域-省
           dto.setRgnPrNm(vo.getRgnPrNm());//区域-省名称
           dto.setRgnCyCd(vo.getRgnCyCd());//区域-市
           dto.setRgnCyNm(vo.getRgnCyNm());//区域-市名称
           dto.setPlateNo(vo.getPlateNo());//号牌号码
           dto.setPayType(vo.getPayType());//支付类型（INS0020）： 1，分期支付；2，一次性支付
           dto.setInsState(vo.getInsState());//保险状态（INS0025）：1，新投保；2，续保
           dto.setPaySchId(vo.getPaySchId());//支付表编号ID
           dto.setPayNo(vo.getPayNo());//支付表编号
           dto.setContNo(vo.getContNo());//合同号，系统自动生成
           dto.setPayState(vo.getPayState());//支付状态（INS0031）：1.未支付；2.已支付
           dto.setLoanState(vo.getLoanState());//贷款状态（INS0028）：1.未放款；2.已放款
           dto.setLoanType(vo.getLoanType());//贷款类型（INS0027）： 1. 分期还款；2.全款
           dto.setBusType(vo.getBusType());//业务类型（INS0026 ）：1. 保险分期；2.保险一次性
           dto.setPlcRem(vo.getPlcRem());//保单备注
           dto.setDataSource(vo.getDataSource());//数据来源（SYS0027）：1. iOS；2. Andriod；3. Windows；4. Web
           dto.setOrderStatus(vo.getOrderStatus());//订单状态（INS0036）：1. 未提交；2. 审核中；3. 未出保；4. 出保中；5. 已出保
           dto.setIsDel(vo.getIsDel());//是否删除(INS0038)) ：0. 否；1. 是
           dto.setUpdateNumber(vo.getUpdateNumber());//更新序号
           dto.setInsQuoteInfoId(vo.getInsQuoteInfoId());//保险公司报价信息id

           dto.setCrtTm(vo.getCrtTm());//创建时间
           dto.setCrtUsrId(vo.getCrtUsrId());//创建人
           dto.setMdfTm(vo.getMdfTm());//修改时间
           dto.setMdfUsrId(vo.getMdfUsrId());//修改人

           dto.setAudStsCd(vo.getAudStsCd());
           dto.setPNo(vo.getPNo());
           dto.setPInstId(vo.getPInstId());

           /*dto.setImpCustMagerId(vo.getImpCustMagerId());
           dto.setAccCustMagerId(vo.getAccCustMagerId());*/
       }
       return dto;
   }
}
